
package com.shop.cloud.mall.admin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shop.cloud.mall.common.entity.OrderInfo;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 商城订单
 *
 * @author
 * @date 2019-09-10 15:21:22
 */
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {

	IPage<OrderInfo> selectPage1(IPage<OrderInfo> page, @Param("query") OrderInfo orderInfo);

	BigDecimal sumPaymentPrice(@Param("query") OrderInfo orderInfo);

	IPage<OrderInfo> selectPage2(IPage<OrderInfo> page, @Param("query") OrderInfo orderInfo, @Param("supplierId") String supplierId);

	OrderInfo selectById1(Serializable id);

	/**
	 * 订单量商品排行TOP10
	 * @return
	 */
	List<Map<String, Integer>> statisticsOrderCountSpu(@Param("query") OrderInfo orderInfo);
	/**
	 * 订单量店铺排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsOrderCountShopInfo(@Param("query") OrderInfo orderInfo);
	/**
	 * 订单量分类品牌排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsOrderCountCategory(@Param("query") OrderInfo orderInfo);

	/**
	 * 金额商品排行TOP10
	 * @return
	 */
	List<Map<String, Integer>> statisticsSaleAmountSpu(@Param("query") OrderInfo orderInfo);
	/**
	 * 金额店铺排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsSaleAmountShopInfo(@Param("query") OrderInfo orderInfo);
	/**
	 * 金额分类排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsSaleAmountCategory(@Param("query") OrderInfo orderInfo);

	/**
	 * 商品销量排行TOP10
	 * @return
	 */
	List<Map<String, Integer>> statisticsSpuSale(@Param("query") OrderInfo orderInfo);
	/**
	 * 商品销量店铺排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsSpuSaleShopInfo(@Param("query") OrderInfo orderInfo);
	/**
	 * 商品销量分类品牌排行
	 * @return
	 */
	List<Map<String, Integer>> statisticsSpuSaleCategory(@Param("query") OrderInfo orderInfo);
}
